﻿using System;
namespace PSE.Tools.SchemaComparer.Library
{
    /// <summary>
    /// Interface com métodos para serialização e deserialização de objetos
    /// </summary>
    public interface ISerializer<T>
    {
        /// <summary>
        /// Serializa um objeto
        /// </summary>
        /// <param name="obj">Instância do objeto a ser serializado</param>
        /// <returns>Objeto serializado</returns>
        T Serialize(object obj);

        /// <summary>
        /// Deserializa um objeto
        /// </summary>
        /// <param name="obj">Objeto serializado</param>
        /// <returns>Instância do objeto</returns>
        object Deserialize(T obj);
    }
}
